package com.cqupt.service;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface FileManagerService {

    // 上传多个附件
    // boolean uploadFiles(MultipartFile[] files,int id) ;

    /**
     * 附件修改
     * @param files 附件列表
     * @param id 知识id
     * @param closureIds 附件id
     * @param submit_user 提交者
     * @param date 提交日期
     * @return
     */
    boolean updateFiles(MultipartFile[] files, int id, String[] closureIds, String submit_user, String date);

    /**
     * 根据知识id删除与之关联的附件
     * @param id 知识id
     * @return 成功返回true,失败返回false
     */
    boolean deleteFiles(int id);

    /**
     * 根据相对路径下载附件
     * @param filedir 附件地址
     * @param request 请求
     * @param response
     * @return
     */
    boolean downloadFile(String filedir, HttpServletRequest request, HttpServletResponse response);

    /**
     * 根据知识id获取附件
     * @param id 知识id
     * @return
     */
    List<Map<String, Object>> getClosuresByID(int id);

    /**
     * 上传知识附件
     * @param files 附件（支持多个附件）
     * @param primary_key 关联知识id
     * @param submit_user 提交者
     * @param date 提交时间
     * @return 成功返回true,失败返回false
     */
    boolean uploadFiles(MultipartFile[] files, int primary_key, String submit_user, String date);
}
